﻿namespace WMS6.Services
{
    using System;
    using System.Data;
    using System.ServiceModel;
    using WMS6.DataEntity;

    [ServiceContract(Namespace="WMS6.Services")]
    public interface IPrintReportService
    {
        [ServiceKnownType(typeof(PrintReportsInfo)), OperationContract, ServiceKnownType(typeof(EncasingDetailNote)), ServiceKnownType(typeof(EncasingNoteInfo))]
        DataSet GetEncasingDetailNote(string orderID, PrintReportsInfo printReportsInfo);
        [ServiceKnownType(typeof(PrintReportsInfo)), OperationContract, ServiceKnownType(typeof(EncasingNoteInfo)), ServiceKnownType(typeof(EncasingDetailNote))]
        DataSet GetEncasingNote(string orderID, PrintReportsInfo printReportsInfo);
        [ServiceKnownType(typeof(PrintReceiptDetailInfo)), ServiceKnownType(typeof(PrintReportsInfo)), ServiceKnownType(typeof(PrintReceiptInfo)), OperationContract]
        DataSet GetPrintAllocation(string receiptID, PrintReportsInfo printReportsInfo);
        [OperationContract]
        DataSet GetPrintBatchOutboundListReport(string waveID, string orderIDs, PrintReportsInfo printReportsInfo);
        [ServiceKnownType(typeof(PrintReportsInfo)), OperationContract]
        DataSet GetPrintBatchPickAdviceReport(string waveID, PrintReportsInfo printReportsInfo, string updatedBy);
        [ServiceKnownType(typeof(PrintReportsInfo)), OperationContract]
        DataSet GetPrintBatchPickAdviceReportByOrders(string orderIDs, PrintReportsInfo printReportsInfo, string updatedBy);
        [OperationContract, ServiceKnownType(typeof(PrintReportsInfo)), ServiceKnownType(typeof(PrintPickListReportInfo)), ServiceKnownType(typeof(PrintPickListDetailReportInfo))]
        DataSet GetPrintBatchPickListReportInfo(string orderID, PrintReportsInfo printReportsInfo);
        [OperationContract, ServiceKnownType(typeof(PrintReportsInfo))]
        DataSet GetPrintBatchShippingOrderReport(string waveID, string orderIDs, PrintReportsInfo printReportsInfo);
        [ServiceKnownType(typeof(PrintCommoditySignoffDetailInfo)), ServiceKnownType(typeof(PrintReportsInfo)), ServiceKnownType(typeof(PrintCommoditySignoffInfo)), OperationContract]
        DataSet GetPrintCommoditySignoff(string orderID, PrintReportsInfo printReportsInfo);
        [ServiceKnownType(typeof(PrintCycleCountInfo)), OperationContract, ServiceKnownType(typeof(PrintCycleCountTagListInfo)), ServiceKnownType(typeof(PrintReportsInfo))]
        DataSet GetPrintCycleCountByReleaseID(string releaseID, PrintReportsInfo printReportsInfo);
        [OperationContract, ServiceKnownType(typeof(PrintReportsInfo))]
        DataSet GetPrintLpnLabelInfo(string lpns, PrintReportsInfo printReportsInfo);
        [ServiceKnownType(typeof(PrintPickListDetailReportInfo)), ServiceKnownType(typeof(PrintReportsInfo)), OperationContract, ServiceKnownType(typeof(PrintMergePickListReportInfo))]
        DataSet GetPrintMergePickListReportInfo(string waveID, string descr, string detailID, PrintReportsInfo printReportsInfo);
        [ServiceKnownType(typeof(PrintReportsInfo)), OperationContract, ServiceKnownType(typeof(PrintOrderMovementDetailInfo)), ServiceKnownType(typeof(PrintOrderMovementInfo))]
        DataSet GetPrintOrderMovementInfo(string movementID, PrintReportsInfo printReportsInfo);
        [OperationContract, ServiceKnownType(typeof(PrintOutboundInfo)), ServiceKnownType(typeof(PrintReportsInfo)), ServiceKnownType(typeof(PrintOutboundDetailInfo))]
        DataSet GetPrintOutboundInfo(string OrderID, PrintReportsInfo printReportsInfo);
        [ServiceKnownType(typeof(PrintReportsInfo)), ServiceKnownType(typeof(PrintOutboundListInfo)), ServiceKnownType(typeof(PrintOutboundListDetailInfo)), OperationContract]
        DataSet GetPrintOutboundListInfo(string OrderID, PrintReportsInfo printReportsInfo);
        [ServiceKnownType(typeof(PrintPCMaintenanceListInfo)), OperationContract, ServiceKnownType(typeof(PrintPCMaintenanceListDetailInfo)), ServiceKnownType(typeof(PrintReportsInfo))]
        DataSet GetPrintPCMaintenance(string PhysicalRequestID, string OnlyNonEmptyLoc, PrintReportsInfo printReportsInfo);
        [ServiceKnownType(typeof(PrintReportsInfo)), ServiceKnownType(typeof(PrintPCMaintenanceListDetailInfo)), OperationContract, ServiceKnownType(typeof(PrintPCMaintenanceListInfo))]
        DataSet GetPrintPCReview(string PhysicalRequestID, string OnlyNonEmptyLoc, PrintReportsInfo printReportsInfo);
        [OperationContract, ServiceKnownType(typeof(PrintReportsInfo))]
        DataSet GetPrintPickDivideReport(string waveID, string orderIDs, PrintReportsInfo printReportsInfo);
        [ServiceKnownType(typeof(PrintReportsInfo)), ServiceKnownType(typeof(PrintPickListDetailReportInfo)), OperationContract, ServiceKnownType(typeof(PrintPickListReportInfo))]
        DataSet GetPrintPickListReportInfo(string orderID, PrintReportsInfo printReportsInfo);
        [OperationContract, ServiceKnownType(typeof(PrintReportsInfo)), ServiceKnownType(typeof(PrintPickListReportInfo)), ServiceKnownType(typeof(PrintPickListDetailReportInfo))]
        DataSet GetPrintPickReportInfo(string orderID, PrintReportsInfo printReportsInfo);
        [OperationContract, ServiceKnownType(typeof(PrintReportsInfo)), ServiceKnownType(typeof(PrintPickListReportInfo)), ServiceKnownType(typeof(PrintPickListDetailReportInfo))]
        DataSet GetPrintPickWorkReportInfo(string orderID, PrintReportsInfo printReportsInfo, string updatedBy);
        [ServiceKnownType(typeof(PrintPurchaseOrderDetailInfo)), ServiceKnownType(typeof(PrintPurchaseOrderInfo)), OperationContract, ServiceKnownType(typeof(PrintReportsInfo))]
        DataSet GetPrintPurchaseOrderInfo(string poID, PrintReportsInfo printReportsInfo);
        [OperationContract, ServiceKnownType(typeof(PrintReportsInfo)), ServiceKnownType(typeof(PrintPutawayReportInfo)), ServiceKnownType(typeof(PrintPutawayDetailInfo))]
        DataSet GetPrintPutawayReportInfo(string receiptID, PrintReportsInfo printReportsInfo);
        [ServiceKnownType(typeof(PrintReceiptHistoryDetailInfo)), ServiceKnownType(typeof(PrintReceiptHistoryInfo)), OperationContract, ServiceKnownType(typeof(PrintReportsInfo))]
        DataSet GetPrintReceiptHistoryInfo(string receiptID, PrintReportsInfo printReportsInfo);
        [OperationContract, ServiceKnownType(typeof(PrintReceiptDetailInfo)), ServiceKnownType(typeof(PrintReportsInfo)), ServiceKnownType(typeof(PrintReceiptInfo))]
        DataSet GetPrintReceiptInfo(string receiptID, PrintReportsInfo printReportsInfo);
        [OperationContract, ServiceKnownType(typeof(PrintSalesOrderInfo)), ServiceKnownType(typeof(PrintSalesOrderDetailInfo)), ServiceKnownType(typeof(PrintReportsInfo))]
        DataSet GetPrintSalesOrderInfo(string orderID, PrintReportsInfo printReportsInfo);
        [ServiceKnownType(typeof(ShippingOrderDetailRptInfo)), OperationContract, ServiceKnownType(typeof(PrintReportsInfo)), ServiceKnownType(typeof(ShippingOrderRptInfo))]
        DataSet GetPrintShippingOrderID(string ordersID, PrintReportsInfo printReportsInfo);
        [OperationContract, ServiceKnownType(typeof(PrintReportsInfo))]
        DataSet GetPrintWaveShipmentReport(string waveIDs, PrintReportsInfo printReportsInfo);
    }
}

